package com.ruoyi.student.mapper;

import java.util.List;
import com.ruoyi.student.domain.ReCourseClass;
import com.ruoyi.student.domain.TCourseInfo;
import com.ruoyi.student.domain.vo.TCourseInfoVo;
import org.apache.ibatis.annotations.Param;

/**
 * 课程班级关联Mapper接口
 * 
 * @author ruoyi
 * @date 2023-09-10
 */
public interface ReCourseClassMapper 
{
    /**
     * 查询课程班级关联
     * 
     * @param id 课程班级关联主键
     * @return 课程班级关联
     */
    public ReCourseClass selectReCourseClassById(Long id);

    public int removeReCourseClassBycourseIdAndClassId(ReCourseClass reCourseClass);

    /**
     * 根据班级id查询所有的课程
     *
     * @param id 课程班级关联主键
     * @return 课程列表
     */
    public List<TCourseInfoVo> selectCourseListByClassId(Long id);


    /**
     * 查询课程班级关联列表
     * 
     * @param reCourseClass 课程班级关联
     * @return 课程班级关联集合
     */
    public List<ReCourseClass> selectReCourseClassList(ReCourseClass reCourseClass);

    /**
     * 新增课程班级关联
     * 
     * @param reCourseClass 课程班级关联
     * @return 结果
     */
    public int insertReCourseClass(ReCourseClass reCourseClass);

    /**
     * 修改课程班级关联
     * 
     * @param reCourseClass 课程班级关联
     * @return 结果
     */
    public int updateReCourseClass(ReCourseClass reCourseClass);

    /**
     * 删除课程班级关联
     * 
     * @param id 课程班级关联主键
     * @return 结果
     */
    public int deleteReCourseClassById(Long id);

    /**
     * 批量删除课程班级关联
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteReCourseClassByIds(Long[] ids);
}
